perm filename SIMO.FAI[CMS,LCS] blob sn#182669 filedate 1975-10-17 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00021 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00003 00002		TITLE SIMU
C00007 00003	ERRO:	OUTSTR [ASCIZ/	???
C00009 00004	POTBL:	HLRE MEM(DR)
C00011 00005	ZPAGE:	PUSHJ P,IFTCH
C00013 00006	LDIM:	PUSHJ P,IFTCH
C00015 00007	PUTCH:	HRRZI MA,PONE(SP)
C00017 00008	ORA:	OR A
C00018 00009	ADDER:	TRZ PS,VBIT
C00019 00010	INSTBL:	
C00022 00011	[CLC:	TRZ PS,CBIT
C00024 00012	[PLP:	PUSHJ P,PUL
C00026 00013	[RTI:	PUSHJ P,PUL
C00027 00014	[BVC:	HRRZI B,VBIT
C00028 00015	[RTS:	PUSHJ P,PUL
C00030 00016	[SEI:	TRO PS,IBIT
C00032 00017	[BCC:	HRRZI B,CBIT
C00034 00018	[TAY:	HRRZI (A)
C00036 00019	[CPYIM:	PUSHJ P,IFTCH
C00038 00020	[CLD:	TRZ PS,DBIT
C00040 00021	[BEQ:	HRRZI B,ZBIT
C00041 ENDMK
C⊗;
	TITLE SIMU
	EXTERNAL $I
	A←1 ↔ X←2 ↔ Y←3 ↔ SP←4 ↔ PS←5 ↔ PC←6
	IR←7 ↔ B←←10 ↔ C←←11 ↔ D←←12
	E←←13 ↔ DR←14 ↔ MA←15 ↔ P←17
	CBIT←←1 ↔ ZBIT←←2 ↔ IBIT←←4 ↔ DBIT←←10
	BRKBIT←←20 ↔ VBIT←←100 ↔ NBIT←←200
	RSTV←177772 ↔ NMIV←177774 ↔ IRQV←177776
	PONE←←400 ↔ NEG1←←377 ↔ BNINE←←400
	ZHW←777400 ↔ ZHW16←600000 ↔ IOBIT←200000
	IOMSK←400000 ↔ ROMBIT←100000

ZWD:	-1,,777400
ZWD16:	-1,,600000
PDL:	BLOCK 100

R:	BYTE (7) 175,175,175,"O","A"
	BYTE (7) 175,";","X",175,";"
	BYTE (7) "Y",175,";","S","P"
	BYTE (7) 175,";","P","S",175
	BYTE (7) ";","P","C",175,";"
	BYTE (7) 175,175,175,"C","7"
	BYTE (7) 175,";"

SS:	BYTE (7) "X","C","U","T","E"
	BYTE (7) 175,"B",175,"P"

STAR:	RESET
	HRLZI MEM
	HRRI MEM+1
	SETOM MEM
	BLT MEM+77777
MAP:	MOVE P,[PDPO:	IOWD 100,PDL]
	SETZ D,
	SETZ X,
	PUSHJ P,MEMDF
	MOVE D,[ROMBIT,,ROMBIT]
	AOJ X,
	PUSHJ P,MEMDF
	MOVE D,[IOMSK,,IOMSK]
	AOJ X,
	PUSHJ P,MEMDF
ZRG:	MOVE [1,,2]
	SETZ A,
	BLT PC
RST:	MOVE P,PDPO
	JSR $I

FETCH:	PUSHJ P,IFTCH
	HRRZ IR,INSTBL(DR)
XCUTE:	PUSHJ P,(IR)
	JRST FETCH

STRTBL:	[ASCIZ/
	RAM BLOCK (ADR ∨ L:H) = /]
	[ASCIZ/
	ROM BLOCK (ADR ∨ L:H) = /]
	[ASCIZ*
	I/O BLOCK (ADR ∨ L:H) = *]
ERRO:	OUTSTR [ASCIZ/	???
/]
MEMDF:	CLRBFI
	OUTSTR @STRTBL(X)
	INCHWL A
	CAIN A,15
	POPJ P,
	PUSHJ P,INNUM
	TDNE ZWD16
	JRST ERRO
	HRRZ DR,
	INCHRS A
	JRST ERRO
	CAIN A,12
	JRST ONEAD
	PUSHJ P,INNUM
	TDNE ZWD16
	JRST ERRO
MKIT:	HRRZI E,(DR)
	LSH DR,-1
	ADDI DR,MEM
	HRRZ MA,
	LSH MA,-1
	CAILE DR,MEM(MA)
	JRST ERRO
	ANDI E,1
	JUMPE E,EVEN
	HRRM D,(DR)
	CAIL DR,MEM(MA)
	JRST MEMDF
	AOJ DR,
EVEN:	ANDI 1
	JUMPN MOV
	HLLM D,MEM(MA)
	CAIL DR,MEM(MA)
	JRST MEMDF
	SOJ MA,
MOV:	MOVEM D,(DR)
	CAIL DR,MEM(MA)
	JRST MEMDF
	HRLI DR,(DR)
	AOJ DR,
	BLT DR,MEM(MA)
	JRST MEMDF

ONEAD:	HRRZI (DR)
	JRST MKIT

INNUM:	SETZ
	CAIL A,60
	CAILE A,67
	POPJ P,
	IMULI 10
	ADDI -60(A)
	INCHRS A
	POPJ P,
	JRST INNUM+1
POTBL:	HLRE MEM(DR)
	HRRE MEM(DR)
MTST:	HRRZI D,(DR)
	LSH DR,-1
	ANDI D,1
	XCT POTBL(D)
	TRNE ZHW
	SKIPL
	POPJ P,
	PUSHJ P,NRM
	TDZ ZWD
	POPJ P,

NRM:	TRNE IOBIT
	JRST ILMEM
IO:	JSR $I
	POPJ P,
ILMEM:	JSR $I
	POPJ P,
UDO:	JSR $I
	POPJ P,
WROM:	JSR $I
	JRST ROMCK+2

MFTCH:	HRRZI DR,(MA)
	PUSHJ P,MTST
	POPJ P,

IFTCH:	HRRZI DR,(PC)
	PUSHJ P,MTST
	HRRZ DR,
	AOJ PC,
	TRZ PC,ZHW16
	POPJ P,
	
DPTBL:	HRLM D,MEM(DR)
	HRRM D,MEM(DR)
MEMDP:	HRRZ D,
	HRRZI DR,(MA)
	LSH DR,-1
	ANDI MA,1
	XCT POTBL(MA)
	TRNE ZHW
	PUSHJ P,ROMCK
	XCT DPTBL(MA)
	POPJ P,
ROMCK:	JUMPGE WROM
	PUSHJ P,NRM
	TRZ NEG1
	OR D,
	POPJ P,

AFTCH:	PUSHJ P,IFTCH
	HRRZI MA,(DR)
	PUSHJ P,IFTCH
	LSH 10
	OR MA,
	POPJ P,
ZPAGE:	PUSHJ P,IFTCH
	HRRZI MA,(DR)
	PUSHJ P,MFTCH
	POPJ P,

ZPX:	PUSHJ P,IFTCH
	HRRZI MA,(DR)
	ADDI MA,(X)
	TRZ MA,ZHW
	PUSHJ P,MFTCH
	POPJ P,

ZPY:	PUSHJ P,IFTCH
	HRRZI MA,(DR)
	ADDI MA,(X)
	TRZ MA,ZHW
	PUSHJ P,MFTCH
	POPJ P,

ABS:	PUSHJ P,AFTCH
	PUSHJ P,MFTCH
	POPJ P,]

ABX:	PUSHJ P,AFTCH
	ADDI MA,(X)
	TRZ MA,ZHW16
	PUSHJ P,MFTCH
	POPJ P,

ABY:	PUSHJ P,AFTCH
	ADDI MA,(Y)
	TRZ MA,ZHW16
	PUSHJ P,MFTCH
	POPJ P,

INX:	PUSHJ P,IFTCH
	ADDI (X)
	TRZ ZHW
	HRRZ MA,
	PUSHJ P,MFTCH
	HRRZ B,
	AOJ MA,
	PUSHJ P,MFTCH
	LSH 10
	OR B,
	HRRZI MA,(B)
	PUSHJ P,MFTCH
	POPJ P,

INY:	PUSHJ P,ZPAGE
	HRRZ B,
	AOJ MA,
	PUSHJ P,MFTCH
	LSH 10
	ADDI (B)
	HRRZ MA,
	PUSHJ P,MFTCH
	POPJ P,]
LDIM:	PUSHJ P,IFTCH
	PUSHJ P,NZTST
	POPJ P,
LDZ:	PUSHJ P,ZPAGE
	PUSHJ P,NZTST
	POPJ P,
LDAB:	PUSHJ P,ABS
	PUSHJ P,NZTST
	POPJ P,
LDABX:	PUSHJ P,ABX
	PUSHJ P,NZTST
	POPJ P,
LDABY:	PUSHJ P,ABY
	PUSHJ P,NZTST
	POPJ P,]
LDZX:	PUSHJ P,ZPX
	PUSHJ P,NZTST
	POPJ P,
LDZY:	PUSHJ P,ZPY
	PUSHJ P,NZTST
	POPJ P,
LDIX:	PUSHJ P,INX
	PUSHJ P,NZTST
	POPJ P,
LDIY:	PUSHJ P,INY
	PUSHJ P,NZTST
	POPJ P,
STZ:	PUSHJ P,IFTCH
	HRRZ MA,
	HRRZI (B)
	PUSHJ P,MEMDP
	POPJ P,
STAB:	PUSHJ P,AFTCH
	HRRZI (B)
	PUSHJ P,MEMDP
	POPJ P,
STIX:	PUSHJ P,INX
	HRRZI (B)
	PUSHJ P,MEMDP
	POPJ P,
STIY:	PUSHJ P,INY
	HRRZI (B)
	PUSHJ P,MEMDP
	POPJ P,
STZX:	PUSHJ P,ZPX
	HRRZI (B)
	PUSHJ P,MEMDP
	POPJ P,
STZY:	PUSHJ P,ZPY
	HRRZI (B)
	PUSHJ P,MEMDP
	POPJ P,
STABX:	PUSHJ P,ABX
	HRRZI (B)
	PUSHJ P,MEMDP
	POPJ P,
STABY:	PUSHJ P,ABY
	HRRZI (B)
	PUSHJ P,MEMDP
	POPJ P,
PUTCH:	HRRZI MA,PONE(SP)
	PUSHJ P,MEMDP
	SOSGE SP
	HRRZI SP,NEG1
	POPJ P,

PUL:	AOJ SP,
	TDZ SP,ZWD
	HRRZI MA,PONE(SP)
	PUSHJ P,MFTCH
	POPJ P,

PUPC:	PUSHJ P,IFTCH	;←←←←←
	HRRZI (PC)
	LSH -10
	PUSHJ P,PUTCH
	HRRZI (PC)
	PUSHJ P,PUTCH
	POPJ P,

NZTST:	TRZ PS,NBIT∨ZBIT
	SKIPN
	TROE PS,ZBIT
	TRNN NBIT
	POPJ P,
	TRO PS,NBIT
	POPJ P,

CNZTST:	TRZ PS,CBIT
	TDZE ZWD
	TRO PS,CBIT
	PUSHJ P,NZTST
	POPJ P,

BIT:	TRZ PS,NBIT∨VBIT∨ZBIT
	TRNE NBIT
	TRO PS,NBIT
	TRNE VBIT
	TRO PS,VBIT
	ANDI (A)
	SKIPN
	TRO ZBIT
	POPJ P,

BRNCH:	TRNE DR,NBIT
	TDO DR,ZWD
	ADD PC,DR
	TDZ ZWD16
	POPJ P,

BRT:	PUSHJ P,IFTCH
	TRNE PS,(B)
	PUSHJ P,BRNCH
	POPJ P,

BRF:	PUSHJ P,IFTCH
	TRNN PS,(B)
	PUSHJ P,BRNCH
	POPJ P,
ORA:	OR A
	PUSHJ P,NZTST
	HRRZ A,
	POPJ P,

ASL:	LSH 1
	PUSHJ P,CNZTST
	POPJ P,

AAND:	AND A
	PUSHJ P,NZTST
	HRRZ A,
	POPJ P,

EOR:	XORI (A)
	PUSHJ P,NZTST
	HRRZ A,
	POPJ P,

LSR:	TRZ PS,NBIT∨ZBIT∨CBIT
	TRNE 1
	TRO PS,CBIT
	LSH -1
	SKIPN
	TRO PS,ZBIT
	POPJ P,

ROL:	LSH 1
	TRNE PS,CBIT
	TRO 1
	PUSHJ P,CNZTST
	POPJ P,

INC:	AOJ
	TRZ ZHW
	PUSHJ P,NZTST
	POPJ P,

DEC:	SOSGE
	HRRZI NEG1
	PUSHJ P,NZTST
	POPJ P,
ADDER:	TRZ PS,VBIT
	TRNN NBIT
	JRST POS
	PUSHJ P,ALUX
	TRNE B,NBIT
	TRNE PS,NBIT
	POPJ P,
	JRST OV

POS:	PUSHJ P,ALUX
	TRNN B,NBIT
	TRNN PS,NBIT
	POPJ P,
OV:	TRO PS,VBIT
	POPJ P,

ALUX:	ADDI (B)
	TRNE PS,CBIT
	AOJ
	PUSHJ P,CNZTST
	POPJ P,

SUBER:	TRC NEG1
	PUSHJ P,ADDER
	POPJ P,
	
ADC:	HRRZI B,(A)
	PUSHJ P,ADDER
	HRRZ A,
	POPJ P,

SBC:	HRRZI B,(A)
	PUSHJ P,SUBER
	HRRZ A,
	POPJ P,

CMPER:	TRC NEG1
	TRO PS,CBIT
	PUSHJ P,ALUX
	POPJ P,

CMP:	HRRZI B,(A)
	PUSHJ P,CMPER
	POPJ P,
CPX:	HRRZI B,(X)
	PUSHJ P,CMPER
	POPJ P,
CPY:	HRRZI B,(Y)
	PUSHJ P,CMPER
	POPJ P,
INSTBL:	
[BRK:	PUSHJ P,PUPC
	PUSHJ P,PHP
	TRO PS,BRKBIT∨IBIT
	HRRZI PC,IRQV
	PUSHJ P,JMPAB
	POPJ P,]
[ORAINX:PUSHJ P,INX
	PUSHJ P,ORA
	POPJ P,]
UDO
UDO
UDO
[ORAZ:	PUSHJ P,ZPAGE
	PUSHJ P,ORA
	POPJ P,]
[ASLZ:	PUSHJ P,ZPAGE
	PUSHJ P,ASL
	PUSHJ P,MEMDP
	POPJ P,]
UDO

[PHP:	HRRZI (PS)
	PUSHJ P,PUTCH
	POPJ P,]
[ORAIM:	PUSHJ P,IFTCH
	PUSHJ P,ORA
	POPJ P,]
[ASLAC:	HRRZI (A)
	PUSHJ P,ASL
	HRRZ A,
	POPJ P,]
UDO
UDO
[ORAAB:	PUSHJ P,ABS
	PUSHJ P,ORA
	POPJ P,]
[ASLAB:	PUSHJ P,ABS
	PUSHJ P,ASL
	PUSHJ P,MEMDP
	POPJ P,]
UDO

[BPL:	HRRZI B,NBIT
	PUSHJ P,BRF
	POPJ P,]
[ORAINY:PUSHJ P,INY
	PUSHJ P,ORA
	POPJ P,]
UDO
UDO
UDO
[ORAZX:	PUSHJ P,ZPX
	PUSHJ P,ORA
	POPJ P,]
[ASLZX:	PUSHJ P,ZPX
	PUSHJ P,ASL
	PUSHJ P,MEMDP
	POPJ P,]
UDO
[CLC:	TRZ PS,CBIT
	POPJ P,]
[ORAABY:PUSHJ P,ABY
	PUSHJ P,ORA
	POPJ P,]
UDO
UDO
UDO
[ORAABX:PUSHJ P,ABX
	PUSHJ P,ORA
	POPJ P,]
[ASLABX:PUSHJ P,ABX
	PUSHJ P,ASL
	PUSHJ P,MEMDP
	POPJ P,]
UDO

[JSR:	HRRZI 1(PC)
	LSH -10	
	PUSHJ P,PUTCH
	HRRZI 1(PC)
	PUSHJ P,PUTCH
	PUSHJ P,JMPAB
	POPJ P,]
[ANDINX:PUSHJ P,INX
	PUSHJ P,AAND
	POPJ P,]
UDO
UDO
[BITZ:	PUSHJ P,ZPAGE
	PUSHJ P,BIT
	POPJ P,]
[ANDZ:	PUSHJ P,ZPAGE
	PUSHJ P,AAND
	POPJ P,]
[ROLZ:	PUSHJ P,ZPAGE
	PUSHJ P,ROL
	PUSHJ P,MEMDP
	POPJ P,]
UDO
[PLP:	PUSHJ P,PUL
	HRRZ PS,
	POPJ P,]
[ANDIM:	PUSHJ P,IFTCH
	PUSHJ P,AAND
	POPJ P,]
[ROLAC:	HRRZI (A)
	PUSHJ P,ROL
	HRRZ A,
	POPJ P,]
UDO
[BITAB:	PUSHJ P,ABS
	PUSHJ P,BIT
	POPJ P,]
[ANDAB:	PUSHJ P,ABS
	PUSHJ P,AAND
	POPJ P,]
[ROLAB:	PUSHJ P,ABS
	PUSHJ P,ROL
	PUSHJ P,MEMDP
	POPJ P,]
UDO

[BMI:	HRRZI B,NBIT
	PUSHJ P,BRT
	POPJ P,]
[ANDINY:PUSHJ P,INY
	PUSHJ P,AAND
	POPJ P,]
UDO
UDO
UDO
[ANDZX:	PUSHJ P,ZPX
	PUSHJ P,AAND
	POPJ P,]
[ROLZX:	PUSHJ P,ZPX
	PUSHJ P,ROL
	PUSHJ P,MEMDP
	POPJ P,]
UDO

[SEC:	TRO PS,CBIT
	POPJ P,]
[ANDABY:PUSHJ P,ABY
	PUSHJ P,AAND
	POPJ P,]
UDO
UDO
UDO
[ANDABX:PUSHJ P,ABX
	PUSHJ P,AAND
	POPJ P,]
[ROLABX:PUSHJ P,ABX
	PUSHJ P,ROL
	PUSHJ P,MEMDP
	POPJ P,]
UDO
[RTI:	PUSHJ P,PUL
	HRRZ PS,
	PUSHJ P,RTS
	POPJ P,]
[EORINX:PUSHJ P,INX
	PUSHJ P,EOR
	POPJ P,]
UDO
UDO
UDO
[EORZ:	PUSHJ P,ZPAGE
	PUSHJ P,EOR
	POPJ P,]
[LSRZ:	PUSHJ P,ZPAGE
	PUSHJ P,LSR
	PUSHJ P,MEMDP
	POPJ P,]
UDO

[PHA:	HRRZI (A)
	PUSHJ P,PUTCH
	POPJ P,]
[EORIM:	PUSHJ P,IFTCH
	PUSHJ P,EOR
	POPJ P,]
[LSRAC:	HRRZI (A)
	PUSHJ P,LSR
	HRRZ A,
	POPJ P,]
UDO
[JMPAB:	PUSHJ P,AFTCH
	HRRZI PC,(MA)
	POPJ P,]
[EORAB:	PUSHJ P,ABS
	PUSHJ P,EOR
	POPJ P,]
[LSRAB:	PUSHJ P,ABS
	PUSHJ P,LSR
	PUSHJ P,MEMDP
	POPJ P,]
UDO
[BVC:	HRRZI B,VBIT
	PUSHJ P,BRF
	POPJ P,]
[EORINY:PUSHJ P,INY
	PUSHJ P,EOR
	POPJ P,]
UDO
UDO
UDO
[EORZX:	PUSHJ P,ZPX
	PUSHJ P,EOR
	POPJ P,]
[LSRZX:	PUSHJ P,ZPX
	PUSHJ P,LSR
	PUSHJ P,MEMDP
	POPJ P,]
UDO

[CLI:	TRZ PS,IBIT
	POPJ P,]
[EORABY:PUSHJ P,ABY
	PUSHJ P,EOR
	POPJ P,]
UDO
UDO
UDO
[EORABX:PUSHJ P,ABX
	PUSHJ P,EOR
	POPJ P,]
[LSRABX:PUSHJ P,ABX
	PUSHJ P,LSR
	PUSHJ P,MEMDP
	POPJ P,]
UDO
[RTS:	PUSHJ P,PUL
	HRRZ PC,
	PUSHJ P,PUL
	LSH -8
	OR PC,
	POPJ P,]
[ADCINX:PUSHJ P,INX
	PUSHJ P,ADC
	POPJ P,]
UDO
UDO
UDO
[ADCZ:	PUSHJ P,ZPAGE
	PUSHJ P,ADC
	POPJ P,]
UDO
UDO

[PLA:	PUSHJ P,PUL
	HRRZ A,
	POPJ P,]
[ADCIM:	PUSHJ P,IFTCH
	PUSHJ P,ADC
	POPJ P,]
UDO
UDO
[JMPIN:	PUSHJ P,ABS
	HRRZ PC,
	AOJ MA,
	PUSHJ P,MFTCH
	LSH 10
	OR PC,
	PUSHJ P,JMPAB
	POPJ P,]
[ADCAB:	PUSHJ P,ABS
	PUSHJ P,ADC
	POPJ P,]
UDO
UDO

[BVS:	HRRZI B,VBIT
	PUSHJ P,BRT
	POPJ P,]
[ADCINY:PUSHJ P,INY
	PUSHJ P,ADC
	POPJ P,]
UDO
UDO
UDO
[ADCZX:	PUSHJ P,ZPX
	PUSHJ P,ADC
	POPJ P,]
UDO
UDO
[SEI:	TRO PS,IBIT
	POPJ P,]
[ADCABY:PUSHJ P,ABY
	PUSHJ P,ADC
	POPJ P,]
UDO
UDO
UDO
[ADCABX:PUSHJ P,ABX
	PUSHJ P,ADC
	POPJ P,]
UDO
UDO

UDO
[STAINX:HRRZI B,(A)
	PUSHJ P,STIX
	POPJ P,]
UDO
UDO
[STYZ:	HRRZI B,(Y)
	PUSHJ P,STZ
	POPJ P,]
[STAZ:	HRRZI B,(A)
	PUSHJ P,STZ
	POPJ P,]
[STXZ:	HRRZI B,(X)
	PUSHJ P,STZ
	POPJ P,]
UDO

[DEY:	HRRZI (Y)
	PUSHJ P,DEC
	HRRZ Y,
	POPJ P,]
UDO
[TXA:	HRRZI (X)
	PUSHJ P,NZTST
	HRRZI A,(X)
	POPJ P,]
UDO
[STYAB:	HRRZI B,(Y)
	PUSHJ P,STAB
	POPJ P,]
[STAAB:	HRRZI B,(A)
	PUSHJ P,STAB
	POPJ P,]
[STXAB:	HRRZI B,(X)
	PUSHJ P,STAB
	POPJ P,]
UDO
[BCC:	HRRZI B,CBIT
	PUSHJ P,BRF
	POPJ P,]
[STAINY:HRRZI B,(A)
	PUSHJ P,STIY
	POPJ P,]
UDO
UDO
[STYZX:	HRRZI B,(Y)
	PUSHJ P,STZX
	POPJ P,]
[STAZX:	HRRZI B,(A)
	PUSHJ P,STZX
	POPJ P,]
[STXZY:	HRRZI B,(X)
	PUSHJ P,STZY
	POPJ P,]
UDO

[TYA:	HRRZI (Y)
	PUSHJ P,NZTST
	HRRZI A,(Y)
	POPJ P,]
[STAABY:HRRZI B,(A)
	PUSHJ P,STABY
	POPJ P,]
[TXS:	HRRZI SP,(X)
	POPJ P,]
UDO
UDO
[STAABX:HRRZI B,(A)
	PUSHJ P,STABX
	POPJ P,]
UDO
UDO

[LDYIM:	PUSHJ P,LDIM
	HRRZ Y,
	POPJ P,]
[LDAINX:PUSHJ P,LDIX
	HRRZ A,
	POPJ P,]
[LDXIM:	PUSHJ P,LDIM
	HRRZ X,
	POPJ P,]
UDO
[LDYZ:	PUSHJ P,LDZ
	HRRZ Y,
	POPJ P,]
[LDAZ:	PUSHJ P,LDZ
	HRRZ A,
	POPJ P,]
[LDXZ:	PUSHJ P,LDZ
	HRRZ X,
	POPJ P,]
UDO
[TAY:	HRRZI (A)
	PUSHJ P,NZTST
	HRRZI Y,(A)
	POPJ P,]
[LDAIM:	PUSHJ P,LDIM
	HRRZ A,
	POPJ P,]
[TAX:	HRRZI (A)
	PUSHJ P,NZTST
	HRRZI X,(A)
	POPJ P,]
UDO
[LDYAB:	PUSHJ P,LDAB
	HRRZ Y,
	POPJ P,]
[LDAAB:	PUSHJ P,LDAB
	HRRZ A,
	POPJ P,]
[LDXAB:	PUSHJ P,LDAB
	HRRZ X,
	POPJ P,]
UDO

[BCS:	HRRZI B,CBIT
	PUSHJ P,BRT
	POPJ P,]
[LDAINY:PUSHJ P,LDIY
	HRRZ A,
	POPJ P,]
UDO
UDO
[LDYZX:	PUSHJ P,LDZX
	HRRZ Y,
	POPJ P,]
[LDAZX:	PUSHJ P,LDZX
	HRRZ A,
	POPJ P,]
[LDXZY:	PUSHJ P,LDZY
	HRRZ X,
	POPJ P,]
UDO

[CLV:	TRZ PS,VBIT
	POPJ P,]
[LDAABY:PUSHJ P,LDAB
	HRRZ A,
	POPJ P,]
[TSX:	HRRZI X,(SP)
	POPJ P,]
UDO
[LDYABX:PUSHJ P,LDABX
	HRRZ Y,
	POPJ P,]
[LDAABX:PUSHJ P,LDABX
	HRRZ A,
	POPJ P,]
[LDXABY:PUSHJ P,LDABY
	HRRZ X,
	POPJ P,]
UDO
[CPYIM:	PUSHJ P,IFTCH
	PUSHJ P,CPY
	POPJ P,]
[CMPINX:PUSHJ P,INX
	PUSHJ P,CMP
	POPJ P,]
UDO
UDO
[CPYZ:	PUSHJ P,ZPAGE
	PUSHJ P,CPY
	POPJ P,]
[CMPZ:	PUSHJ P,ZPAGE
	PUSHJ P,CMP
	POPJ P,]
[DECZ:	PUSHJ P,ZPAGE
	PUSHJ P,DEC
	PUSHJ P,MEMDP
	POPJ P,]
UDO

[INCY:	HRRZI (Y)
	PUSHJ P,INC
	HRRZ Y,
	POPJ P,]
[CMPIM:	PUSHJ P,IFTCH
	PUSHJ P,CMP
	POPJ P,]
[DEX:	HRRZI (X)
	PUSHJ P,DEC
	HRRZ X,
	POPJ P,]
UDO
[CPYAB:	PUSHJ P,ABS
	PUSHJ P,CPY
	POPJ P,]
[CMPAB:	PUSHJ P,ABS
	PUSHJ P,CMP
	POPJ P,]
[DECAB:	PUSHJ P,ABS
	PUSHJ P,DEC
	PUSHJ P,MEMDP
	POPJ P,]
UDO

[BNE:	HRRZI B,ZBIT
	PUSHJ P,BRF
	POPJ P,]
[CMPINY:PUSHJ P,INY
	PUSHJ P,CMP
	POPJ P,]
UDO
UDO
UDO
[CMPZX:	PUSHJ P,ZPX
	PUSHJ P,CMP
	POPJ P,]
[DECZX:	PUSHJ P,ZPX
	PUSHJ P,DEC
	PUSHJ P,MEMDP
	POPJ P,]
UDO
[CLD:	TRZ PS,DBIT
	POPJ P,]
[CMPABY:PUSHJ P,ABY
	PUSHJ P,CMP
	POPJ P,]
UDO
UDO
UDO
[CMPABX:PUSHJ P,ABX
	PUSHJ P,CMP
	POPJ P,]
[DECABX:PUSHJ P,ABX
	PUSHJ P,DEC
	PUSHJ P,MEMDP
	POPJ P,]
UDO

[CPXIM:	PUSHJ P,IFTCH
	PUSHJ P,CPX
	POPJ P,]
[SBCINX:PUSHJ P,INX
	PUSHJ P,SBC
	POPJ P,]
UDO
UDO
[CPXZ:	PUSHJ P,ZPAGE
	PUSHJ P,CPX
	POPJ P,]
[SBCZ:	PUSHJ P,ZPAGE
	PUSHJ P,SBC
	POPJ P,]
[INCZ:	PUSHJ P,ZPAGE
	PUSHJ P,INC
	PUSHJ P,MEMDP
	POPJ P,]
UDO

[INCX:	HRRZI (X)
	PUSHJ P,INC
	HRRZ X,
	POPJ P,]
[SBCIM:	PUSHJ P,IFTCH
	PUSHJ P,SBC
	POPJ P,]
[NOP:	POPJ P,]
UDO
[CPXAB:	PUSHJ P,ABS
	PUSHJ P,CPX
	POPJ P,]
[SBCAB:	PUSHJ P,ABS
	PUSHJ P,SBC
	POPJ P,]
[INCAB:	PUSHJ P,ABS
	PUSHJ P,INC
	PUSHJ P,MEMDP
	POPJ P,]
UDO
[BEQ:	HRRZI B,ZBIT
	PUSHJ P,BRT
	POPJ P,]
[SBCINY:PUSHJ P,INY
	PUSHJ P,SBC
	POPJ P,]
UDO
UDO
UDO
[SBCZX:	PUSHJ P,ZPX
	PUSHJ P,SBC
	POPJ P,]
[INCZX:	PUSHJ P,ZPX
	PUSHJ P,INC
	PUSHJ P,MEMDP
	POPJ P,]
UDO

[SED:	TRO PS,DBIT
	POPJ P,]
[SBCABY:PUSHJ P,ABY
	PUSHJ P,SBC
	POPJ P,]
UDO
UDO
UDO
[SBCABX:PUSHJ P,ABX
	PUSHJ P,SBC
	POPJ P,]
[INCABX:PUSHJ P,ABX
	PUSHJ P,INC
	PUSHJ P,MEMDP
	POPJ P,]
UDO

MEM:	BLOCK 100000
	END STAR